package cn.kgc.tafang.service;

import cn.kgc.tafang.dao.Init;
import cn.kgc.tafang.entity.*;
import cn.kgc.tafang.service.UserOpera;

import java.util.Collection;
import java.util.Map;
import java.util.Scanner;

public class ShangChengOpera {
    static Tower tower = new Tower();
    static Map<String, Arms> armsMap= Init.armsHashMap;
    static Map<String, Skill> skillMap= Init.skillHashMap;
    static Arms arms = null;
    static Skill skill=null;
    static Scanner sc=new Scanner(System.in);
    public static Map<String,Hero> heroMap= Init.heroMap;
    public static Collection<Hero> heros=heroMap.values();
    public static Collection<Arms> armss=armsMap.values();
    /**
     * 买装备
     * @param
     */
    public static void buyZhuangBei(User user){
        System.out.println("1.铁剑--攻击力加5--攻击距离加5--价格100金币");
        System.out.println("2.银剑--攻击力加10--攻击距离加8--价格200金币");
        System.out.println("3.金剑--攻击力加20--攻击距离加10--价格300金币");
        System.out.println("4.黑曜石剑--攻击力加50--攻击距离加20--价格60点卷");
        System.out.println("请选择:");
        int choice=sc.nextInt();
        switch (choice) {
            case 1:
                if (user.getHero().getMongey() >= 100) {
                    user.getHero().setMongey(user.getHero().getMongey() - 100);
                    arms = new Arms("铁剑", 5, 100, 5);
                    armsMap.put("铁剑", arms);
                    System.out.println("恭喜您购得铁剑一柄,请前往仓库装备");
                } else {
                    System.out.println("金币不足!");
                }
                break;
            case 2:
                if (user.getHero().getMongey() >= 200) {
                    user.getHero().setMongey(user.getHero().getMongey() - 200);
                    arms = new Arms("银剑", 10, 200, 8);
                    armsMap.put("银剑", arms);
                    System.out.println("恭喜您购得银剑一柄,请前往仓库装备");
                } else {
                    System.out.println("金币不足!");
                }
                break;
            case 3:
                if (user.getHero().getMongey() >= 300) {
                    user.getHero().setMongey(user.getHero().getMongey() - 300);
                    arms = new Arms("金剑", 20, 300, 10);
                    armsMap.put("金剑", arms);
                    System.out.println("恭喜您购得金剑一柄,请前往仓库装备");
                } else {
                    System.out.println("金币不足");
                }

                break;
            case 4:
                if (user.getHero().getDianJuan() >= 60) {
                    user.getHero().setDianJuan(user.getHero().getDianJuan() - 60);
                    arms = new Arms("黑曜石剑", 50, 60, 20);
                    armsMap.put("黑曜石剑", arms);
                    System.out.println("恭喜您够的黑曜石剑一柄,请前往仓库装备");
                }else {
                    System.out.println("点卷不足!");
                }
                break;

        }
    }
    /**
     * 买技能
     */
    public static void buySkill(User user){
        System.out.println("1.攻击--攻击力加30--攻击范围加5--价格300");
        System.out.println("2.击退--攻击力加15--攻击距离加5--击退怪物50米--价格300金币");
        System.out.println("3.回复--防御塔回血30%--价格300金币");
        System.out.println("请选择:");
        int choice=sc.nextInt();
        switch (choice) {
            case 1:
                if (user.getHero().getMongey() >= 300) {
                    user.getHero().setMongey(user.getHero().getMongey() - 300);
                    Skill skill1 = new Skill("攻击", 30, 5, 0);
                    skillMap.put(skill1.getName(), skill1);
                    System.out.println("购买成功,可以去峡谷击杀boss去了!");
                } else {
                    System.out.println("不好意思，账户金币不足!");
                }
                break;
            case 2:
                if (user.getHero().getMongey() >= 300) {
                    user.getHero().setMongey(user.getHero().getMongey() - 300);
                    Skill skill2 = new Skill("控制", 0, 0, 0);
                    skillMap.put(skill2.getName(), skill2);
                    System.out.println("购买成功,可以去峡谷击杀boss去了!");
                } else {
                    System.out.println("不好意思，账户金币不足!");
                }
                break;
            case 3:
                if (user.getHero().getMongey() >= 300) {
                    Skill skill3 = new Skill("回复", 0, 0, 300);
                    skillMap.put(skill3.getName(), skill3);
                    System.out.println("购买成功,可以去峡谷击杀boss去了!");
                } else {
                    System.out.println("不好意思，账户金币不足!");
                }
                break;
        }
    }
    /**
     * 卖装备
     */
    public static void SellZhuangbei(User user){
        System.out.println("1.铁剑--价格30金币");
        System.out.println("2.银剑--价格50金币");
        System.out.println("3.金剑--价格80金币");
        System.out.println("4.黑曜石剑--价格200点卷");
        System.out.println("请选择:");
        int choice=sc.nextInt();
        switch (choice) {
            case 1:
                if (armsMap.containsKey("铁剑")) {
                    user.getHero().setMongey(user.getHero().getMongey() + 30);
                    armsMap.remove("铁剑");
                    System.out.println("删除成功,您获得30金币！");
                    break;
                } else {
                    System.out.println("您没有该武器,无法出售!");
                    break;
                }
            case 2:
                if (armsMap.containsKey("银剑")) {
                    user.getHero().setMongey(user.getHero().getMongey() + 50);
                    armsMap.remove("银剑");
                    System.out.println("删除成功,您获得50金币！");
                    break;
                } else {
                    System.out.println("您没有该武器,无法出售!");
                    break;
                }
            case 3:
                if (armsMap.containsKey("金剑")) {
                    user.getHero().setMongey(user.getHero().getMongey() + 80);
                    armsMap.remove("金剑");
                    System.out.println("删除成功,您获得80金币！");
                    break;
                } else {
                    System.out.println("您没有该武器,无法出售!");
                    break;
                }
            case 4:
                if (armsMap.containsKey("黑曜石剑")) {
                    user.getHero().setMongey(user.getHero().getMongey() + 200);
                    armsMap.remove("黑曜石剑");
                    System.out.println("删除成功,您获得200金币！");
                    break;
                } else {
                    System.out.println("您没有该武器,无法出售!");
                    break;
                }
        }
    }
    /**
     * 卖技能
     */
    public static void SellSkill(User user){
        System.out.println("1.攻击--价格80");
        System.out.println("2.击退--价格80金币");
        System.out.println("3.回复--价格80金币");
        System.out.println("请选择:");
        int choice=sc.nextInt();
        switch (choice) {
            case 1:
                if (user.getHero().getSkill1().equals("攻击")) {
                    skillMap.remove("攻击");
                    System.out.println("出售成功");
                    user.getHero().setMongey(user.getHero().getMongey() + 80);
                    user.getHero().setSkill1(null);
                    break;
                } else {
                    System.out.println("不好意思，您没有该技能！");
                    break;
                }

            case 2:
                if (user.getHero().getSkill1().equals("击退")) {
                    skillMap.remove("击退");
                    System.out.println("出售成功");
                    user.getHero().setMongey(user.getHero().getMongey() + 80);
                    user.getHero().setSkill1(null);
                    break;
                } else {
                    System.out.println("不好意思，您没有该技能！");
                    break;
                }

            case 3:
                if (user.getHero().getSkill1().equals("回复")) {
                    skillMap.remove("回复");
                    System.out.println("出售成功");
                    user.getHero().setMongey(user.getHero().getMongey() + 80);
                    user.getHero().setSkill1(null);
                    break;
                } else {
                    System.out.println("不好意思，您没有该技能！");
                    break;
                }

        }
        }

}
